1.高可用性
高可用性是指系統可以持續的正常運作,就算哪天真的故障了也可以快速的復原,減少停機的時間。之前傳統部署(內部部署)要維持系統的高可用性成本非常高,而且高可用性的範圍通常也僅限於那個特定的應用程式,其他的都會被忽略。但如今有一個新的選項,那就是部署進AWS,AWS提供了非常多部伺服器,在每個區域內擁有
域,並且提供存取容錯服務,下列將為各位複習一下AWS提供的幾個提供了高可用性的代表服務:
Elastic Load Balancers (ELB)
Elastic Load Balancer中文為負載平衡器,可將傳入流量分配到執行個體,並且當發生高延遲或者使用率過高時,可以設定為主動通知,並且將數據傳送到AWS CloudWatch。
彈性IP位址(Elastic IP Address)
彈性IP位址是一個靜態的IP位址,假如今天有一個A軟體及B軟體,A軟體是拿來實際上架的,而B軟體是與A軟體幾乎相同的測試版。那有一天A軟體故障了,身為設計師的我們就可以把B軟體套上與A軟體相同的IP位置,這即是彈性IP位址,這可以確實掩蓋執行個體或軟體的故障,提高可用性,目前不支援IPv6的彈性IP位址。
Amazon Route 53
Amazon Route 53就是AWS提供的DNS服務,將網域名稱轉換成IP位址。它的開發目的有五個,分別是支援簡易路由、以延遲為基礎的路由、運作狀態檢查、地理位置路由,以及DNS備援,這五個目的都可以提高應用程式的可用性。
Auto Scaling
Auto Scaling可根據指定條件自動的啟動或終止執行個體,這可確保無論負載為何,應用程式都一定可用。
Amazon CloudWatch
Amazon CloudWatch是一個分散式的資料收集系統,而且可以自訂指標,當超越這個指標時,CloudWatch可以自動調整已增加可用性,很常會和Auto Scaling他配使用。
2.容錯能力
容錯能力指的是就算系統裡面某些元件故障了,系統一樣可以正常的運作,不受影響,有點類似內建備援,以下提供三個容錯的工具:
Amazon Simple Queue Service (Amazon SQS)
Amazon SQS是一個全受管的訊息系統,它能夠讓訊息在元件之間移動,確保訊息佇列一定可用。
Amazon Simple Storage Service (Amazon S3)
Amazon S3 會將所有資料以冗餘方式存放在區域內多個設施的多個不同裝置,以確保如果發生故障時仍可存取所有資訊。
Amazon Relational Database Service (Amazon RDS)
Amazon RDS是一種擴展關聯式資料庫的一種 Web 工具,它提供多種功能來增強資料庫的可靠性,例如自動備份或多重代理部署等等。
3.考前重點大補帖
⦁ 高可用性是指確保系統可以持續運作並可供存取。
⦁ 容錯能力是指即使系統的某些元件故障,該系統仍然可以持續運作。
⦁ Elastic Load Balancers (ELB)可將指標傳送到 Amazon CloudWatch。
⦁ Elastic Load Balancers (ELB) 可將傳入流量或負載分配到執行個體。
⦁ 彈性 IP 地址是一個靜態的IP位址。
⦁ 彈性IP地址不支援IPv6。
⦁ Amazon Route 53的開發目的分別為:
⦁ 可使用 Auto scaling 的政策設定要擴展或縮減佈建。
⦁ Amazon CloudWatch很常和Auto Scaling搭配使用。
⦁ Amazon SQS是一個高度可靠的分散式訊息系統,確保佇列一定可用。
⦁ Amazon S3提供高耐用性和具容錯能力的資料儲存。
3.經典歷屆試題
單選題
在AWS上設計高可用架構時,建議使用哪種模式?
A. 把延遲降到最低
B. 運行大量的EC2確保在尖峰負載(peak load) 下也能使用服務
C. 確保服務在各種故障下都可以迅速的恢復成可使用狀態
D. 使用單體式應用程式(monolithic application )來處理所有操作
正解:C
要在多少個可用區內分配計算資源才可實現高可用性?
A. 至少一個
B. 至少二個
C. 至少三個
D. 至少四個或更多
正解:B